(1.1) Technical Field
The present invention relates to fuzzy membership function circuits indispensable for constructing novel fuzzy control systems, and more particularly to fuzzy membership Z function circuits, fuzzy membership S function circuits, fuzzy logic circuits for use in composing other fuzzy membership function circuits based on these function circuits, programmable multi-membership function circuits thus composed for giving various membership function outputs in response to external control signals, etc.
(1.2) Limitation of digital computers and novel fuzzy logic circuits operable in current mode
Fuzzy logic handles fuzziness, i.e. "vagueness." Human thought and behavior involve vagueness. If such vagueness can be expressed in terms of numbers or amounts or theorized, the system will find application to the design of community systems such as traffic control systems, emergency or applied therapeutic systems and the like and to the design of robots simulating the human being. Ever since the concept of fuzzy sets was proposed by L. A. Zadeh in 1965, research has been conducted on fuzzy logic as a means for handling "vagueness" from the above viewpoint. However, many research efforts are presently directed to the application of the logic to software systems for use with digital computers. The digital computer is adapted to perform operation based on binary logic using 0 and 1. Although the operation is processed very strictly, there is a need to use an A/D converter circuit for feeding analog quantities. The computer therefore has the problem of requiring a long period of time to obtain the final result by processing a vast quantity of information. Further the programs for the application of fuzzy logic are bound to become complex and require a large-sized digital computer for complicated processing, hence poor economy.
Since fuzzy logic handles continueous values (0, 1) in the section of from 0 to 1, the logic is inherently incompatible with digital computers which operate on binary logic. Further because fuzzy logic handles vague quantities having a range, the strictness required thereof is not as high as is required of digital computers. Accordingly, it is desired to provide novel circuits which are suitable for handling fuzzy logic.
To meet the demand, the present inventor has already proposed many fuzzy logic circuits which operate in current mode (as disclosed, for example, in U.S. patent application Ser. No. 714,809) U.S. Pat. No. 4,694,418. The fuzzy logic circuits proposed by the present inventor include bounded difference circuits, complement circuits, bounded-sum circuits, bounded-product circuits, union (MAX) circuits, intersection (MIN) circuits, absolute-difference circuits, implication circuits, equivalence circuits, etc. All of these circuits operate in current mode. All the above fuzzy logic circuits have the feature that the circuit comprises the combination of one or a plurality of bounded-difference circuits and addition (subtraction) circuit. Since addition and subtraction in current mode can be realized merely by wiring (wired sum or wired subtraction), it can be said that a fuzzy bounded-difference circuit is basically the sole component unit of all the foregoing fuzzy logic circuits. It therefore follows that the fuzzy logic circuit operable in current mode has many advantages in respect of the design of the circuit and fabrication of the circuit as an IC.
(1.3) Membership function circuits and concept of fuzzy control system (FIGS. 1a, 1b, 2a and 2b)
A fuzzy set A is characterized by a membership function .mu..sub.A (x), which represents the degree with which the variable x belongs to the fuzzy set A. The degree is expressed by a continuous value [0, 1] in the section of from 0 to 1. An example of membership function .mu..sub.A (x) is shown in FIG. 1a.
Membership function circuits are so adapted that when an electric quantity (current or voltage) representing a variable x of certain value is given as an input, the circuit produces an electric quantity corresponding to the .mu..sub.A (x) representing the degree with which the variable x belongs to the fuzzy set A.
FIGS. 2a and 2b show an example of concept of a fuzzy control system comprising such a fuzzy logic circuit and membership function circuit.
Fuzzy control is considered useful, for example, for automating a system which has heretofore been operated or controlled by man based on rich experience and intuition. The control system heretofore handled by man, although very complex, can be simplified into the combination of some or many empirical rules. Briefly, such an empirical rule can be expressed as: "If p (state or the like) is q, then r (state or the like) is s." This rule is more generalized when developed into a slightly complicated form: "If p is q and (or) p' is q', then r is s." Such a generalized form of empirical rule is called a control rule in fuzzy control systems.
According to the practice with feedback control systems, suppose the output e of the system to be controlled and the deviation .DELTA.e thereof are control inputs, and the control output to be given to the system is .DELTA.u.
With reference to FIG. 2a, control rule 1, "If e is negative small and .DELTA.e is positive small, then .DELTA.u is positive small" is given as an example of control rule. This control rule 1 is expressed as follows. EQU e=NS and .DELTA.e=PS.fwdarw..DELTA.u=PS
wherein NS means negative small, and PS means positive small.
Control rule 2 given is: "If e is positive small and .DELTA.e is negative small, then .DELTA.u is negative small. This rule is expressed as follows. EQU e=PS and .DELTA.e=NS.fwdarw..DELTA.u=NS.
Some other or many other control rules are also provided.
In judging "negative small e" in control rule 1, membership function 1.sub.A (MS function 1.sub.A) answers the interrogation how the given control input e=e.sub.0 is negative small. The membership function 1.sub.A is obtained from a membership function circuit (not shown) and represents the degree the control input e belongs to a "set of negative small values." Given as the membership function 1.sub.A in FIG. 2a is a triangular function having a peak at a negative value for e. The function indicates that the degree with which a control input e=e.sub.0 =-0.2 belongs to the set is 0.8.
Similarly, FIG. 2a shows a membership function l.sub.B (MS function 1.sub.B) representing the degree with which the control input .DELTA.e belongs to a "set of positive small values." This function 1.sub.B is also triangular and has a peak when .DELTA.e is a positive value. The membership function 1.sub.B delivered from an unillustrated membership function circuit indicates that the degree with which a control input .DELTA.e=.DELTA.e.sub.0 =-0.1 belong to this set is 0.6.
The condition "and" in control rule 1, "If e is negative small and .DELTA.e is positive small" is generally calculated by a fuzzy intersection (MIN). More specifically, the calculation MIN selects the smaller of the two variables. Consequently, MIN selects 0.6 from the value 0.8 of the membership function 1.sub.A and the value 0.6 of the function 1.sub.B.
The instruction that ".DELTA..sub.u is positive small" in control rule 1 is given also by a membership function (original instruction 1). The function representing the original instruction 1 and given as an example is also triangular and has a peak value 1 when .DELTA.u is a positive value. The function representing the original instruction 1 is produced by a membership function generator circuit (not shown).
"If and then" in control rule 1 is executed, for example, by multiplication. Calculation MIN already provides the value 0.6. Multiplying the function of the original instruction by 0.6 gives a triangular function (instruction 1) having a peak value of 0.6.
The calculation for "if and then" may be conducted by MIN. In this case, a trapezoidal function indicated in a broken line will be obtained as the instruction 1.
An instruction 2 is similarly prepared by applying control rule 2 to the given control inputs e and .DELTA.e. Also similarly, other instructions will be prepared by applying other control rules.
Generally, a plurality of control rules are set for one system to be controlled as described above. The individual instructions derived from these control rules are used for eventually determining the control output .DELTA.u. Accordingly, fuzzy union (MAX) is calculated as to the instructions derived from the control rules. The graph "Result of Inference" in FIG. 2b shows the result of calculation MAX conducted for the instruction 1 and instruction 2. The solid line represents the result obtained by using multiplication for the condition "if and then" in each control rule, and the broken line the result obtained by using MIN for the condition "if and then".
The result of inference is used for eventually determining the control output .DELTA.u. This procedure is called defuzzification. While foregoing calculations including the generation of membership functions are performed with "vagueness" involved according to fuzzy logic, the control output .DELTA.u having an established value must be determined in the final stage.
Defuzzification can be executed, for example, by calculating the weighted average of the functions representing the result of inference, i.e. the position of center of gravity. With the present embodiment, the control output .DELTA.u=.DELTA.u.sub.0 =+0.1 is eventually obtained. A similar result will be obtained also when MIN is conducted for "if and then".
Defuzzification may be conducted by determining the position of center of gravity for the instruction 1 and that for the instruction 2 first and calculating the weighted average of these two positions.
It is desirable that the membership functions 1.sub.A, 1.sub.B, etc. be variable. While the contemplated system is being continuously controlled by the control output .DELTA.u thus determined, the system is monitored as to whether it is properly controlled. If the system is not controlled optimally, the membership fuctions (value and form of graph thereof) are altered to explore membership functions for realizing optimum control. This is generally termed "study function."
(1.4) Concept of fuzzy system having study function (FIG. 3)
FIG. 3 schematically shows an example of fuzzy system having such a study function.
Some physical input, e.g. the above-mentioned control input, keyed-in data or the like, is normalized or converted to a signal of suitable form as required by an input converter circuit 11. The converter circuit 11 will not always be needed.
The system includes a group 12 of many parameter-variable membership function circuits. At least one specified circuit is selected according to an input signal from the converter circuit 11 for producing a membership function representing signal in accordance with the input signal.
On the other hand, a circuit 15 is provided for generating one or more membership functions. The membership function outputs from these circuits 12 and 15 are fed to a fuzzy logic circuit network 13, in which calculation is conducted according to the specified fuzzy logic to give the result as an output. It is desired that the logic for the circuit network 13 and the parameter for the membership function generator circuit 15 be alterable as required.
While the fuzzy data delivered from the fuzzy logic circuit network 13 may serve as an output as it is, the data will in some case be fed to a defuzzification circuit 14 where some determination is made, whereupon an output is delivered.
The output will be displayed, serve as the above-mentioned control output .DELTA.u or be otherwise used for various purposes.
The output from the circuit network 13 or defuzzification circuit 14 is compared with a reference (standard) input. The reference input represents the correct result of study and will be given, for example, by a skilled operator, simulation by a digital computer or the like.
Based on the result of comparison, a control-memory circuit 16 changes the form of membership functions, parameters or the like of the circuit group 12 and the function generator circuit 15 or changes the kind of logic function of the network 13 or the internal connection of the network, so as to reduce the difference between the output and the reference input to zero.
In this way, the fuzzy system is adjusted and altered through study so as to give a correct output (correct solution) at all times.